From e194bc14fd3ac97de1de7c463aaac8879fb9e00f Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 9 Sep 2010 03:39:43 +0200 Subject: [PATCH] testgtk: Use draw signal in layout test --- tests/testgtk.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/tests/testgtk.c b/tests/testgtk.c index a7f94452dd..e51635d851 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -9697,29 +9697,31 @@ create_mainloop (GtkWidget *widget) gtk_widget_destroy (window); } -gboolean -layout_expose_handler (GtkWidget *widget, GdkEventExpose *event) +static gboolean +layout_draw_handler (GtkWidget *widget, cairo_t *cr) { GtkLayout *layout; GdkWindow *bin_window; - cairo_t *cr; - - gint i,j; + GdkRectangle clip; + gint i,j,x,y; gint imin, imax, jmin, jmax; layout = GTK_LAYOUT (widget); bin_window = gtk_layout_get_bin_window (layout); - if (event->window != bin_window) + if (!gtk_cairo_should_draw_window (cr, bin_window)) return FALSE; - imin = (event->area.x) / 10; - imax = (event->area.x + event->area.width + 9) / 10; + gdk_window_get_position (bin_window, &x, &y); + cairo_translate (cr, x, y); - jmin = (event->area.y) / 10; - jmax = (event->area.y + event->area.height + 9) / 10; + gdk_cairo_get_clip_rectangle (cr, &clip); + + imin = (clip.x) / 10; + imax = (clip.x + clip.width + 9) / 10; - cr = gdk_cairo_create (bin_window); + jmin = (clip.y) / 10; + jmax = (clip.y + clip.height + 9) / 10; for (i=imin; i